package object;

import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;

/**
 * Object是所有类的顶级超类，里面有几个经常被子类重写的方法，其中包括toString和equals
 */
public class Demo {
    public static void main(String[] args) {
        Point p = new Point(1, 2);
        /*
        object 已经实现了toString方法，直接继承下来时返回的字符串内容为当前对象的地址信息
        格式为：  类名@地址
        toString方法实际开发中很少直接写代码去调用他，都是在不经意间被自动执行的。
        例如在使用System.out.println输出时，与字符串连接操作时。
         */
        String str = p.toString();
        System.out.println(str);
        String str1 = "这是个啥？" + p;
        System.out.println(str1);

        Point p2 = new Point(1, 2);
        System.out.println("p2:" + p2);
        /*
        对于引用类型而言，变量保存的值是对象的地址。
        ==比较是比较两个变量的值是否相等，因此对于引用类型而言就是比较地址是否相等，
        那么意思就是比较师傅为同一个对象。

        eauals 是Object 定义的另一个方法，意思是比较两个东西的内容是否相同，但是如果子类
        不重写这个方法，则没有实际意义，因为Object实现是内部仍然是用==比较的！

         */
        System.out.println(p == p2);//false
        System.out.println(p.equals(p2));//true

    }
}